var express = require('express');
var router = express.Router();
//导入 lowdb    需要安装 npm install lowdb   最新版本需要用到es6语法，可以指定版本 npm install lowdb@1.0.0   lowdb一般不用，了解即可
const low = require('lowdb')
const FileSync = require('lowdb/adapters/FileSync')
const adapter = new FileSync(__dirname + '/../data/db.json');   // 这里用自己的路径
//获取 db 对象
const db = low(adapter);

//导入 shortid      需要安装 npm i shortid   一个生成 id 的插件
const shortid = require('shortid');

// 记账本列表
router.get('/account', function (req, res, next) {
  // 获取所有的账单信息
  let account = db.get('accounts').value();
  res.render('list', { account: account });   // 渲染 list.ejs  在 views 目录下
});

// 进入添加记录页面
router.get('/account/create', function (req, res, next) {
  res.render('create');
});

// 添加记录执行提交
router.post('/account', (req, res) => {
  // 获取请求头
  console.log(req.body);
  //生成 id
  let id = shortid.generate();
  //写入文件  unshift 是往前面插入数据，
  db.get('accounts').unshift({ id: id, ...req.body }).write();
  // 跳转成功页面，传入 msg 和 url 两个参数
  res.render("success", { msg: '添加成功哦~~~', url: '/account' });
});

// 删除记录
router.get('/account/:id', (req, res) => {
  // 获取 params 的 id 参数
  let id = req.params.id;
  console.log(id);
  // 删除
  db.get('accounts').remove({ id: id }).write();
  res.render("success", { msg: '删除成功哦~~~', url: '/account' });
});

module.exports = router;

